2) 접선, 법선, 리만 합, 적분 영역

미적분학 개념을 효과적으로 전달하기 위해서는 함수 그래프 위에 접선, 법선, 미분계수의 기하학적 의미, 적분 영역, 리만 합 직사각형 등을 시각화하는 것이 필수적입니다.

Mathit은 미적분 시각화를 위한 매크로 함수와 지시어를 통해 복잡한 계산 없이 한 줄의 직관적인 코드로 고급 미적분 그래픽을 생성할 수 있게 지원합니다.

1. 접선과 법선

함수 $f(x)$ 위의 특정 지점 $x = a$에서의 접선과 법선을 자동으로 계산하여 그려냅니다.

1.1 접선 구하기 및 그리기

tangent_line(f, x=a) 매크로는 지정한 좌표에서의 접선 객체를 반환합니다.

f = x^3 - 3*x + 2

// x = 1.5에서의 접선 생성
L_tan = tangent_line(f, x=1.5)

// 함수 곡선과 접선 그리기
draw: f, x in -2..2.5, thick=1.5pt
draw: L_tan, stroke=dash, color=#red

// 접점 표시
P_tan = (1.5, f(1.5))
dot: P_tan"$(1.5, f(1.5))$"(se), color=#red

1.2 법선 구하기 및 직각 표시

normal_line(f, x=a) 매크로를 사용하여 접선에 수직인 법선을 구하고 직각 기호를 표시할 수 있습니다.

// x = 1.5에서의 법선 생성
L_norm = normal_line(f, x=1.5)

draw: L_norm, stroke=dot, color=#blue
right_ang: L_tan--P_tan--L_norm, size=6pt

2. 적분 영역 및 정적분 넓이 채우기

정적분 $\int_{a}^{b} f(x) \, dx$의 값이나 두 함수 $f(x), g(x)$ 사이의 넓이 영역을 투영 셰이드 효과로 표시합니다.

2.1 $x$축과의 정적분 영역

region(f, x in a..b)를 활용하여 곡선과 $x$축 사이의 영역을 채웁니다.

f = -x^2 + 4

// x in -1..2 구간의 정적분 영역 채우기
shade: region(f, x in -1..2), fill=#blue/20, stroke=dash

// 함수 곡선 및 경계선 표시
draw: f, x in -2.5..2.5, thick=1.5pt
line: (-1, 0)--(-1, f(-1)), stroke=dash
line: (2, 0)--(2, f(2)), stroke=dash

2.2 두 곡선 사이의 넓이

두 함수 $f(x)$$g(x)$로 둘러싸인 넓이 영역을 쉽게 나타낼 수 있습니다.

f = x^2 - 2
g = -x + 2

// 두 곡선 사이의 영역 빗금 채우기
shade: region(f, g, x in -2..1), hatch=(45deg, step=2mm), color=#purple

3. 리만 합 시각화

구분구적법 및 정적분의 정의를 설명할 때 쓰이는 리만 합 사각형들을 자동으로 나누어 표현합니다.

f = 0.5 * x^2 + 1

// x in 0..4 구간을 8개 사각형으로 나누어 오른끝값(right) 기준 리만 합 작성
riemann: f, x in 0..4, n=8, type=right, fill=#orange/30, stroke=0.8pt

// 함수 그래프 겹쳐 그리기
draw: f, x in -0.5..4.5, thick=1.5pt, color=#black

type 옵션을 자세히 보면,

left는 왼쪽 끝값 기준 사각형

right는 오른쪽 끝값 기준 사각형

mid / midpoint는 중점 기준 사각형

trapezoid는 사다리꼴 공식을 적용한 영역 분할

입니다.

4. 종합적으로 본다면

// 축 및 전역 설정
@view: [-1, 4], [-1, 6]
axis: x, y, O

// 함수 및 접선 정의
f = 0.5 * x^3 - x + 2
L_tan = tangent_line(f, x=1.5)

// x in 0..2 구간 적분 영역 채우기
shade: region(f, x in 0..2), fill=#green/20

// 리만 사다리꼴 구간 표시 (n=4)
riemann: f, x in 0..2, n=4, type=trapezoid, stroke=dot, color=#green

// 곡선 및 접선 그리기
draw: f, x in -0.5..2.5, thick=1.5pt
draw: L_tan, stroke=dash, color=#red

// 접점 및 라벨 부착
P_tan = (1.5, f(1.5))
dot: P_tan"$(1.5, f(1.5))$"(nw), color=#red
label: (1, 1)"$S$" // 적분 영역 넓이 S 표기

이 문서가 도움이 되셨나요?

문서 개선에 반영할 솔직한 피드백을 선택해주세요.

Mathit Documentation 개발: Feynerin